package ar.com.utn.openqsb.commons.util;

import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;

/**
 * Utilidades para la internacionalización de la aplicación.
 * 
 * @author rvega
 * @author aprieto
 */
public class LanguageUtil {

	public static final String BASE_NAME = "ar.com.utn.openqsb.lang.lang";

	private static ResourceBundle bundle = ResourceBundle.getBundle(BASE_NAME);

	private static Map<String, ResourceBundle> bundleMap = new HashMap<String, ResourceBundle>();

	/**
	 * Obtener un mensaje en el lenguaje del sistema operativo del usuario.
	 * 
	 * @param key
	 *            el identificador del mensaje.
	 * @return Mensaje en el lenguaje del usuario.
	 */
	public static String getLocalizedMessage(String key) {
		return bundle.getString(key);
	}

	/**
	 * Obtener un mensaje en el lenguaje del sistema operativo del usuario.
	 * 
	 * @param module
	 *            el identificador del modulo.*
	 * @param key
	 *            el identificador del mensaje.
	 * @return Mensaje en el lenguaje del usuario.
	 */
	public static String getLocalizedMessage(String module, String key) {
		if (!bundleMap.containsKey(module)) {
			bundleMap.put(module, ResourceBundle.getBundle(module));
		}

		return bundleMap.get(module).getString(key);
	}
}
